emoji: Improve section scrolling
authorMatthias Clasen <mclasen@redhat.com>
Thu, 17 May 2018 15:37:26 +0000 (16:37 +0100)
committerMatthias Clasen <mclasen@redhat.com>
Thu, 17 May 2018 15:42:00 +0000 (16:42 +0100)
Leave some space above the section heading when scrolling.

This is a part of https://gitlab.gnome.org/GNOME/gtk/merge_requests/143
by Julian Sperber.

gtk/gtkemojichooser.c

index 2783c3b654c22416cb2954c55c920c45eb3fead8..14025e3ab15fa2ef0a0726263eff5c6e015226b2 100644 (file)
@@ -34,6 +34,8 @@
 #include "gtkintl.h"
 #include "gtkprivate.h"
 
+#define BOX_SPACE 6
+
 typedef struct {
   GtkWidget *box;
   GtkWidget *heading;
@@ -107,7 +109,7 @@ scroll_to_section (GtkButton *button,
   adj = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (chooser->scrolled_window));
   if (section->heading)
     gtk_widget_get_allocation (section->heading, &alloc);
-  gtk_adjustment_animate_to_value (adj, alloc.y);
+  gtk_adjustment_animate_to_value (adj, alloc.y - BOX_SPACE);
 }
 
 static void
@@ -455,7 +457,7 @@ adj_value_changed (GtkAdjustment *adj,
       else
         gtk_widget_get_allocation (section->box, &alloc);
 
-      if (value < alloc.y)
+      if (value < alloc.y - BOX_SPACE)
         break;
 
       select_section = section;